_G.zhifa_math = {}


_G.zhifa_math.fabMemo = {}
_G.zhifa_math.fabMemo[1] = 1
_G.zhifa_math.fabMemo[2] = 1

_G.zhifa_math.fab = function (n)
	if type(n) ~= "number" or n < 1 then
		return nil
	end
	n = math.floor(n)
	if _G.zhifa_math.fabMemo[n] ~= nil then
		return _G.zhifa_math.fabMemo[n]
	end
	local res = _G.zhifa_math.fab(n-1) + _G.zhifa_math.fab(n-2)
	_G.zhifa_math.fabMemo[n] = res
	return res
end